Generally, packets sent on the network are often lost because of an overflow of node (router) on the network or a bit error in the wireless space. To be tolerant of such packet loss, methods of (1) no action (2) error correction or compensation (3) retransmission can be considered.
Relating to the method of (1) “no action”, a block noise may be generated because of the packet loss in the video stream, a sound breaking off may be generated in the audio stream, and other media data may not be normally reproduced.
Relating to the method of (2) “error correction or compensation”, lost data may be compensated based on frame data before and after the lost data and decoded at the time of video decoding, or it is possible to add in advance a redundant packet necessary for compensating.
Relating to the method of (3) “retransmission”, data communications in which real time is not requested generally applies this method. For instance, in TCP protocol which is a protocol of high reliability, an ACK packet is sent to the transmission resource as a confirmation of receiving, and when the ACK packet does not return to the transmission resource because it is judged that a packet has not been received, the packet is retransmitted. However, the retransmission may take time because it is needed to wait for a retransmission packet, or the congestion may happen when an excess of the ACK packets or an increase of the retransmission packets oppresses the band.
On the other hand, according to the multimedia streaming delivery service differing from the data download, data can be reproduced even when all the data has not reached. Therefore, it is possible to request to retransmit only an important data packet or to retransmit such data packet in the case of packet loss. As only the important packet is retransmitted, the band can be effectively utilized and the real time characteristic can be enhanced because it is not needed to wait for retransmission of unnecessary data packet.
As examples of the retransmission control system for achieving the above objects, the one disclosed in the Unexamined Japanese Patent Publication No. 9-214507 (wireless communications method) and the one disclosed in the Unexamined Japanese Patent Publication No. 11-284657 (retransmission control system) are well-known.
The retransmission system described in the Unexamined Japanese Patent Publication No. 9-214507 is a wireless communications method, where the real-time communications can be performed with guaranteeing the quality as much as possible. When a packet is lost, retransmission is tried several times. If the retransmission can not reach after the several trials, a packet of a low priority is discarded in order to perform the retransmission. The retransmission system described in the Unexamined Japanese Patent Publication No. 11-284657 is a retransmission control system of connection establishing type communication, where a packet of communications having a low priority is suppressed at the congestion. In this system, a limitation in the number of times of retransmission to each connection is set up, and the number of times of retransmission is decreased by one when retransmission is performed once. If the number of times of retransmission becomes zero, the communication to the connection is halted for the purpose of securing a band for a high priority connection as much as possible.
RTP (Real-Time Transport Protocol), being a protocol for data transmission in high real time such as the streaming delivery, is used as a standard protocol for Internet Standardization such as RFC 1889. The RTP is a protocol for packet transmission of packet where a sequence number and a time stamp are added to a packet. In the RTP, a retransmission is not performed.
As a proposal for RTP extension to the retransmission function of the RTP, the Internet Draft (draft-miyazaki-avt-rtp-selret-oo.txt) titled “RTP Payload Type Format to Enable Selective Retransmissions” has been introduced. In this proposal for extending the retransmission function of the RTP, a sequence number, differing from the sequence number of the RTP, to be added to only a packet having a high priority for retransmission is disclosed.
Namely, in the system for delivering real-time data such as video or speech, if no measures is taken when a packet is lost it has a problem that the quality of reproduced contents is lowered because of data lacking.
In addition, the method of performing error correction or compensation has a problem that the load at the reception side is increased or the congestion is further deteriorated by redundant data used for compensating.
The method of performing retransmission, as the case of TCP protocol, has a problem that the retransmission takes time because it is needed to wait for a retransmission packet, or congestion may happen when an excess of the ACK packets or an increase of retransmission packets oppresses the band.
The method of retransmitting only the packet of a high priority has a problem that a useless retransmission process may be performed when the reception side requests to retransmit a packet of a low priority, because the reception side waits for the packet of a low priority being retransmitted or performs retransmission requests several times though there is a possibility that the packet of low priority requested by the reception side has already been discarded at the transmission side.
The packet transmission according to the proposal for extending the retransmission function of the RTP, in which a general sequence number is added to each of all the packets and a priority sequence number is added to only a packet being important and being judged to be retransmitted at the packet loss, has an advantage that the reception side can grasp the priorities. However, the packet transmission according to the proposal has a problem that it is impossible to recognize accurate priorities when consecutive packets are lost, which makes it necessary to request to retransmit all the consecutive packets being lost. For instance, FIG. 16 shows a packet loss example in the transmission of packets to which general sequence numbers and priority sequence numbers are added. In FIG. 16, the general sequence numbers 20 and 21 are consecutively lost and the priority sequence number is increased by one between the general sequence numbers 19 and 22. Therefore, it is impossible to judge which of the general sequence numbers 20 and 21 has a high priority to be retransmitted. Consequently, it is necessary to request to retransmit both the general sequence numbers 20 and 21.
One of the objects of the present invention is to solve the above-stated problems and to provide a packet retransmission system and a packet transfer system where the waste of network load generated in the retransmission process can be minimized by way of retransmitting only important packets of high priority, and the transmission capacity for transmitting packets of high priority can be secured even at the network congestion.